home *** CD-ROM | disk | FTP | other *** search
- ; $VER: StormC V1.1 Install Version 1.06 (22.7.96)
- ; Installations-Script - na, wofür wohl?
- ; (c) 1996 HAAGE & PARTNER Computer GmbH
-
- (complete 0)
-
- ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
- ; Versionen.
-
- (set stcpp-version "1.1")
- (set stcpp-date "(15 Juli 96)")
-
- ;====================================================================
- ; Initialisierungen
-
-
- (set @default-dest "")
-
- (set os-version (/ (getversion) 65536))
- (set os-13 (< os-version 36))
- (set os-20 (>= os-version 36))
- (set os-21 (>= os-version 38))
-
- (set totalmem (database "total-mem")) ; Diese schöne Funktion vereinfacht einiges
-
- ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
-
- ; Die Pfadnamen der einzelnen Quell-Dateien.
-
- (set #binsource (tackon (pathonly @icon) "StormSYS")) ; Hier stehen die Ausführbaren Programme
- (set #includesource (tackon (pathonly @icon) "INCLUDE")) ; Hier stehen die Includes
- (set #envsource (tackon (pathonly @icon) "ENV")) ; Die Voreinstellungen
- (set #libsource (tackon (pathonly @icon) "LIB")) ; Hier stehen die Bibliotheken
- (set #wizlib (tackon (pathonly @icon) "LIBS/Wizard.library")); Hier steht die Bibliohtek
- (set #samplesource (tackon (pathonly @icon) "Examples")) ; Hier stehen die Demo-Sourcen
- (set #manualsource (tackon (pathonly @icon) "MANUAL")) ; Hier steht die Dokumentation
- (set #toolssource (tackon (pathonly @icon) "TOOLS")) ; Hier stehen die Tools
- (set #flibsource (tackon (pathonly @icon) "Fast-Ansi-Lib")) ; Hier steht die neue Ansi-lib
- (set #muilibsource (tackon (pathonly @icon) "Mui-Class-Lib")) ; Hier steht die Mui Klassen-Library
- (set source-Liesmich (tackon (pathonly @icon) "Liesmich")) ; Die Liesmich Datei
- (set source-readme (tackon (pathonly @icon) "Readme")) ; Die Liesmich Datei
- (set source-italreadme (tackon (pathonly @icon) "Leggimi")) ; Die Liesmich Datei
- (set source-ikon (tackon (pathonly @icon) "StormCPP.info")) ; Das Programm-Piktogramm
-
-
- (set #prp-copy-samples
- "Kopiere die C und C++ Beispielprogramme")
- (set #hlp-copy-bin
- "Anhand des Handbuches und der Beispiele können Sie sich sehr schnell in StormC einarbeiten")
- (set #prp-copy-env
- "Kopiere die StormC Default-Piktogramme")
- (set #hlp-copy-env
- "Die Piktogramme werden von der Projektverwaltung und vom Editor benötigt")
- (set #prp-copy-includes
- "Kopiere die C++ Systemincludes")
- (set #hlp-copy-includes
- "Die Includes werden vom Compiler-Preprozessor benötigt")
- (set #prp-copy-libs
- "Kopiere die Linker-Bibliotheken")
- (set #hlp-copy-libs
- "Die Bibliotheken werden vom Linker benötigt")
- (set #prp-copy-manual
- "Kopiere die Dokumentation")
- (set #hlp-copy-manual
- "Eine Amiga-Guide-Datei zu StormC")
- (set #prp-copy-bin
- "Kopiere die Ausführbaren Dateien des Compilersystems")
- (set #hlp-copy-bin
- "Bei der allerersten Installation sollten Sie auch alle Dateien kopieren")
- (set #prp-copy-tools
- "Kopiere die Screen-Tools")
- (set #hlp-copy-tools
- "Der Pubscreen-Manager zu StormC")
- (set #prp-copy-wizlib
- "Kopiere die Wizard.Library")
- (set #hlp-copy-wizlib
- "Sie ist für die sehr kurzen Programme verantwortlich!")
- (set #prp-copy-fastlib
- "Kopieren die FAST-ANSI-Library")
- (set #hlp-copy-fastlib
- "Mit ihr können sehr kurze ANSI-C Programme erzeugt werden")
- (set #prp-copy-muilib
- "Kopiere die Mui Klassen-Bibliothek")
- (set #hlp-copy-muilib
- "Die Bibliothek ermöglicht die Programmierung von MUI in C++")
-
- ; Die Dateigrößen
-
- (set size-stormcpp 24000)
- (set size-stormc 437000)
- (set size-stormed 210000)
- (set size-stormshell 340000)
- (set size-stormrun 220000)
- (set size-stormasm 36000)
- (set size-stormpics 50000)
- (set size-stormlex 100000)
- (set size-libs 520000)
- (set size-inlcudes 270000)
- (set size-demos 70000)
- (set size-fastlib 130000)
- (set size-muilib 480000)
-
- (set size-komplett ( + size-fastlib size-muilib size-stormrun size-stormasm size-stormcpp size-stormc size-stormed size-stormshell size-stormpics size-stormlex size-libs size-inlcudes size-demos))
-
- ; ----------------------------- Prozeduren ------------------------------
-
- (Procedure Make_Folder
- (
- (set folder (tackon folder "StormC"))
- (if (= (exists folder) 0)
- (
- (makedir folder (infos))
- )
- ))
- )
-
- ;=====================================================================================
- ; Beginn der Installation
- ;=====================================================================================
-
- ; Eine kleine Einleitung, gefolgt vom Startbild des Installers.
-
- (set act-user-level @user-level)
- (user 1)
-
- (message (cat "\nWillkommen bei der Installation der \n\n\"StormC-Demoversion "
- stcpp-version " vom "stcpp-date "\"!\n\n"
- "Dieses Skript kopiert die verschiedenen Dateien, "
- "aus denen sich das Compilersystem zusammensetzt, "
- "auf Ihre Festplatte.\n\n"
- "© 1996 HAAGE&PARTNER Computer GmbH"))
-
- (user act-user-level)
- (welcome)
-
- (complete 5)
-
- (set act-user-level @user-level)
- (user 1)
-
-
- ; Alte Version prüfen und entsprechende Warnung ausgeben! **************************************************************
-
- (set folder "WORK:StormC")
-
- (if (exists "StormC:" (noreq))
- (
- (message (cat "\nAuf Ihrer Festplatte befindet sich bereits eine\n"
- "Installation von StormC! Wählen Sie bitte die über-\n"
- "geordnete Schublade oder das jeweilige Laufwerk an,\n"
- "wenn Sie ihr altes System aktualisieren möchten!"))
-
- (set folder (getassign "STORMC"))
- )
- )
-
- (set cmpstr (getassign "STORMC"))
-
- (user act-user-level)
-
- (if (= @user-level 0)
- (
- (user 1)
- (message (cat "Im Einsteiger-Modus wird davon ausgegangen, daß Storm C auf "
- "einer Festplatte installiert wird, auf der noch mindestens "
- "ca. 6 MByte freier Speicherplatz verfügbar sind. Sie werden "
- "dazu im nächsten Fenster nach dem Namen der gewünschten "
- "Schublade gefragt.\n\n"
- "Alle weiteren Angaben werden dann vom Installations-Skript "
- "möglichst genau an Ihr System angepaßt."))))
-
- (set ok 0)
- (while (not ok)
- (set folder
- (askdir
- (prompt (cat "\n"
- "Auswahl des Pfades für die Compiler-Installation.\n"
- "Eine Schublade mit dem Namen StormC wird automatisch erzeugt!"))
- (help (cat " Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
- "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
- "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
- "gekennzeichneten Einträge auswählen.\n"
- " Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
- "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
- "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
- "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
- "\n\n"
- "Storm C kann nur in eine Schublade nicht aber auf eine "
- "Partition direkt installiert werden! Wenn Sie also nur ein Laufwerk "
- "für die Installation auswählen, wird Ihnen eine Fehlermeldung angezeigt!\n\n"
- @askdir-help))
- (default folder)
- (disk)
- )
- )
-
- (Make_Folder) ; // Automatisch neues Verzeichnis anlegen!
-
- ; Ist der Dateiname leer oder endet mit einem ':' oder existiert unter
- ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
- ; kann die Auswahl-Schleife beendet werden.
- (if (or (or (or (<= (strlen folder) 0) (= (substr folder (- (strlen folder) 1) 1) ":")) (= (exists folder (noreq)) 0)) (= (getdiskspace folder) -1))
- (message (cat "\nBei Ihrer Auswahl \"" folder "\" handelt es sich nicht um "
- "eine gültige Schublade!\n\n"
- "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
- "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
- "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
- "gekennzeichneten Einträge auswählen.\n"
- "Über den Schalter \"Neue Schublade anlegen...\" können Sie ein neue "
- "Schublade erzeugen. Diese neue Schublade\nwird auf der Partition "
- "angelegt, die Sie soeben betrachten."))
- ;else
- (
- (set freediskspace (getdiskspace folder)) ; Der freie Speicher auf diesem Medium
-
- (if (< freediskspace size-komplett)
- (
- (user 1)
- (message (cat "\nAuf der ausgewählten Festplattenpartition "
- "steht nicht genügend freier Speicher für die "
- "komplette Installation des Compilersystems zur Verfügung.\n\n"
- "Freier Speicher " freediskspace "!\n"
- "Benötigter Speicher " size-komplett "!\n\n"
- "Bitte wählen Sie eine andere Partition, auf "
- "der entsprechende Kapazitäten vorhanden sind!"))
- )
- ;else
- (set ok 1)
- )
- )
- )
- )
-
- (makeassign "STORMC")
-
- (user act-user-level)
-
- (set @default-dest folder) ; Die Zuweisung ist sehr wichtig!
-
- (set destbin (tackon folder "StormSYS"))
- (if ; Compiler-Verzeichnis erzeugen
- (= (exists destbin) 0)
- (makedir destbin (infos))
- )
-
- (set destdemo (tackon folder "Examples"))
- (if ; Demo-Verzeichnis erzeugen
- (= (exists destdemo) 0)
- (makedir destdemo (infos))
- )
- (set destinclude (tackon folder "Include"))
- (if ; Includes-Verzeichnis erzeugen
- (= (exists destinclude) 0)
- (makedir destinclude)
- )
-
- (set destlib (tackon folder "Lib"))
- (if ; Libraries-Verzeichnis erzeugen
- (= (exists destlib) 0)
- (makedir destlib)
- )
-
- (set destmanual (tackon folder "Manual"))
- (if ; Dokumentations-Verzeichnis erzeugen
- (= (exists destmanual) 0)
- (makedir destmanual (infos))
- )
-
- (set desttools (tackon folder "Tools"))
-
- (if ; Tools-Verzeichnis erzeugen
- (= (exists desttools) 0)
- (makedir desttools (infos))
- )
-
- (set fansilib (tackon folder "Fast-ANSI-Lib"))
-
- (if ;Fastansilib-Verzeichnis erzeugen
- (= (exists fansilib) 0)
- (makedir fansilib (infos))
- )
-
- (set muilib (tackon folder "MUI-Class-Lib"))
-
- (if ;Muilib-Verzeichnis erzeugen
- (= (exists muilib) 0)
- (makedir muilib (infos))
- )
-
- (complete 5)
-
- ; Liesmich Datei auf Festplatte kopieren!
-
- (copyfiles
- (source source-Liesmich)
- (dest folder)
- (infos)
- )
-
- (copyfiles
- (source source-readme)
- (dest folder)
- (infos)
- )
-
- (copyfiles
- (source source-italreadme)
- (dest folder)
- (infos)
- )
-
- (complete 8)
-
- (set morerunpath "run C/More Liesmich")
-
- (run morerunpath) ; Liesmich laden
-
- (complete 10)
-
- (set destinfo (tackon folder "StormCPP.info"))
- (if ; Projekt-Ikon erzeugen
- (= (exists destinfo) 0)
- (copyfiles
- (source source-ikon)
- (dest folder)
- )
- )
-
- (complete 15)
-
- (copyfiles ; Beispiele kopieren
- (prompt #prp-copy-samples)
- (help #hlp-copy-samples)
- (source #samplesource)
- (dest destdemo)
- (all)
- (confirm)
- )
-
- (complete 20)
-
- (copyfiles ; Settings kopieren
- (prompt #prp-copy-env)
- (help #hlp-copy-env)
- (source #envsource)
- (dest "ENVARC:")
- (all)
- (confirm)
- )
-
- (complete 22)
-
- (copyfiles ; Settings kopieren
- (prompt #prp-copy-env)
- (help #hlp-copy-env)
- (source #envsource)
- (dest "ENV:")
- (all)
- (confirm)
- )
-
- (complete 25)
-
- (copyfiles ; Compiler kopieren
- (prompt #prp-copy-bin)
- (help #hlp-copy-bin)
- (source #binsource)
- (dest destbin)
- (all)
- (confirm)
- )
-
- (complete 40)
-
- (copyfiles ; Includes kopieren
- (prompt #prp-copy-includes)
- (help #hlp-copy-includes)
- (source #includesource)
- (dest destinclude)
- (all)
- (confirm)
- )
-
- (complete 60)
-
- (copyfiles ; Libs kopieren
- (prompt #prp-copy-libs)
- (help #hlp-copy-libs)
- (source #libsource)
- (dest destlib)
- (all)
- (confirm)
- )
-
- (complete 80)
-
- (copyfiles ; Manual kopieren
- (prompt #prp-copy-manual)
- (help #hlp-copy-manual)
- (source #manualsource)
- (dest destmanual)
- (all)
- (confirm)
- )
-
- (complete 90)
-
-
- (copyfiles ; Tools kopieren
- (prompt #prp-copy-tools)
- (help #hlp-copy-tools)
- (source #toolssource)
- (dest desttools)
- (all)
- (confirm)
- )
-
- (complete 91)
-
-
- (copyfiles ; Fastlib kopieren
- (prompt #prp-copy-fastlib)
- (help #hlp-copy-fastlib)
- (source #flibsource)
- (dest fansilib)
- (all)
- (confirm)
- )
-
- (complete 92)
-
- (copyfiles ; Muilib kopieren
- (prompt #prp-copy-muilib)
- (help #hlp-copy-muilib)
- (source #muilibsource)
- (dest muilib)
- (all)
- (confirm)
- )
-
- (complete 93)
-
-
- (copylib ; Wizard.library kopieren
- (prompt #prp-copy-wizlib)
- (help #hlp-copy-wizlib)
- (source #wizlib)
- (dest "LIBS:")
- (confirm)
- )
-
- (complete 96)
-
-
- ; ------- STARTUP ÄNDERN
-
- (set command1 (cat "ASSIGN STORMC: " folder ""))
-
- (set command1.txt
- (cat
- "\n\n\nUm mit StromC richtig arbeiten zu "
- "können muß eine Änderung an der User-Startup vorgenommen werden.\n\n"
- command1
- )
- )
-
- (startup "StormC"
- (prompt command1.txt)
- (help #help-startup)
- (command command1)
- )
-
- (makeassign "STORMC")
- (makeassign "STORMC" folder)
-
- (complete 100)
-
- ; ------- FERTIG
-
- (message (cat
- "\nInstallation des StormC Compilers beendet.\n"
- "Falls die Zeilen:\n" command1 "\nnicht in Ihre Startup-Sequence bzw. "
- "User-Startup eingefügt wurde, dann holen Sie dies bitte nach.\n\n"
- "\n\nWir wünschen ihnen viel Erfolg bei der Lösung Ihrer Programmieraufgaben!")
- )